# server.py
import sys
import webbrowser
import logging
from mcp.server.fastmcp import FastMCP
from pydantic import BaseModel
from moss import Moss

# 配置日志
logger = logging.getLogger('MOSS')
handler = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(logging.INFO)

# Fix UTF-8 encoding for Windows console
if sys.platform == 'win32':
    sys.stderr.reconfigure(encoding='utf-8')
    sys.stdout.reconfigure(encoding='utf-8')

# Create an MCP server
mcp = FastMCP("MOSS MCP")

moss = Moss()

@mcp.tool()
def vision(intent:str, text : str):
    """这是一个视觉系统，包含摄像头，可以捕捉画面。可以用来找寻物品，可以查看当前图像内容信息。例如:我得钥匙找不到了，帮我找一下。我手里拿的是什么？这是什么？都可以通过本系统查询。text:值为用户提问的问题，原样输入到工具中。"""
    logger.info(f'指令：{intent}, 参数：{text}')
    result = moss.exc(f'指令：{intent}, 参数：{text}')
    return {"message": f"{result}"}

@mcp.tool()
def face_recognition(name: str):
    """人脸信息录入"""
    return {"message": "人脸信息录入成功"}

@mcp.tool()
def who(text: str):
    """我是谁"""
    return {"message": "主人"}


# Start the server
if __name__ == "__main__":
    mcp.run(transport="stdio")